local CONSTANT = require("ihome.constant")

--网关的类型（只是内网工作模式还是外网工作模式（外网就直接连物联网平台，不自己开发了））
local GATE_TYPE = {
	"ihome", 
	"ali"
}

--检查配置
local function econf_chk(conf)
	local params = {
		gate = "string" and GATE_TYPE[conf["gate"]] ~= nil, 
		heart = "number", 
	}
	local err
	for i, v in pairs(params) do 
		if not conf[i] then
			err = CONSTANT.ERROR_TYPE["ENTIRY_FMT_ERROR"]
			break 
		end 
	end
	return err
end

--链接上gate地址（这里就是smart方式联网，随手临时地址）
local GATE_ADDR = {
	ihome = "https://ihome.dwb.ren", 
	ali = "https://aliyun.com"
}
local function con_gate(conf)

end

local t_ = {
	econf_chk = econf_chk, 
	con_gate = con_gate
}


local e = class("Entity")

--初始化要经历的步骤
e.START_STEP = {
	"econf_chk", 
	"con_gate"
}

function e:ctor(econf)
	self._econf = econf
end

--实例启动
function e:start()
	local err
	for _, v in ipairs(self.START_STEP) do 
		err = t_[v](self._econf)
		if err ~= 0 then 
			break
		end
	end
end

function e:update()

end

return e